// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import * as path from 'path';
import { fileURLToPath } from 'url';
import fs from 'fs';

// 获取配置
// 默认配置
let config = {
  api: {
    host: '10.1.6.130',
    port: 3000
  }
};
// 使用动态导入确保兼容性
try {
  // 尝试读取配置文件
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
  const configPath = path.resolve(__dirname, 'config.js');
  
  // 检查文件是否存在
  if (fs.existsSync(configPath)) {
    const configContent = fs.readFileSync(configPath, 'utf-8');
  
  // 从配置内容中提取host和port
  const hostMatch = configContent.match(/host:\s*['"]([^'"]*)['"]/);
  const portMatch = configContent.match(/port:\s*(\d+)/);
  
  if (hostMatch && hostMatch[1]) config.api.host = hostMatch[1];
    if (portMatch && portMatch[1]) config.api.port = parseInt(portMatch[1]);
  }
  
} catch (e) {
  console.error('无法读取配置文件，使用默认配置', e);
}

// 获取API配置
const apiBaseUrl = `http://${config.api.host}:${config.api.port}`;

export default defineConfig({
  plugins: [vue()],
  base: "./", // 使用相对路径，解决CORS问题
  server: {
    port: 3000,
    open: true,
    proxy: {
      '/api': {
        target: apiBaseUrl,
        changeOrigin: true,
        secure: false
      },
      '/images': {
        target: apiBaseUrl,
        changeOrigin: true,
        secure: false
      },
      '/videos': {
        target: apiBaseUrl,
        changeOrigin: true,
        secure: false
      }
    }
  }
});